Skip to content

feat: add web.useInternalFrontend option for Web UI#850

Closed
ivankovnatsky wants to merge 1 commit intotemporalio:mainfrom
ivankovnatsky:fix/web-use-internal-frontend
Closed

feat: add web.useInternalFrontend option for Web UI#850
ivankovnatsky wants to merge 1 commit intotemporalio:mainfrom
ivankovnatsky:fix/web-use-internal-frontend

Conversation

@ivankovnatsky
Copy link
Copy Markdown
Contributor

@ivankovnatsky ivankovnatsky commented Feb 17, 2026

What was changed

Added a web.useInternalFrontend option (default: false) to values.yaml
and a conditional in web-deployment.yaml that points the Web UI at
internal-frontend instead of frontend when enabled.

Files changed:

  • charts/temporal/templates/web-deployment.yaml — conditional
    TEMPORAL_ADDRESS based on web.useInternalFrontend and
    server.internal-frontend.enabled
  • charts/temporal/values.yaml — new web.useInternalFrontend: false with documentation

Why?

We would like to have an option to pass through auth as admintools and others
too. Only configuring auth for the api for now.

Checklist

  1. Closes — N/A (no existing issue for this)

  2. How was this tested:

Verified with helm template that both cases render correctly:

# useInternalFrontend: false (default) — no behavior change
TEMPORAL_ADDRESS: "temporal-frontend.default.svc:7233"

# useInternalFrontend: true + server.internal-frontend.enabled: true
TEMPORAL_ADDRESS: "temporal-internal-frontend.default.svc:7236"

Also tested on a live staging deployment — Web UI successfully connects and
displays data when pointed at internal-frontend.

  1. Any docs updates needed?

The values.yaml comment documents the option.
The Web UI environment variables reference
on docs.temporal.io could mention this option, but it is not strictly required.

When server-side authorization is enabled, the Web UI cannot connect to
the frontend service (port 7233) because it does not send authorization
credentials. The internal-frontend service bypasses the authorizer and
is already used by admintools and schema jobs in this scenario.

This adds a `web.useInternalFrontend` option (default: false) that, when
enabled alongside `server.internal-frontend.enabled`, points the Web UI
at internal-frontend instead of frontend. This allows the Web UI to
operate without server-side authorization.

Users who want authenticated Web UI access (e.g., via SSO/OIDC) can
leave this as false and configure TEMPORAL_AUTH_* environment variables.

Note: TEMPORAL_ADDRESS cannot be overridden via web.additionalEnv because
the template renders the hardcoded value first, and Kubernetes silently
drops duplicate environment variable names (keeping the first occurrence).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant